<?php
/////////////////////////////////////////////////////////////////////////////
// 这个文件是 网城创想多用户商城 项目的一部分
//
// Copyright (c) 2007 - 2008 www.shopnc.net
//
// 要查看完整的版权信息和许可信息，请查看源代码中附带的 COPYRIGHT 文件，
// 或者访问 http://www.shopnc.net/ 获得详细信息。
/////////////////////////////////////////////////////////////////////////////

/**
 * FILE_NAME : shopclass.manage.php   FILE_PATH : D:\webroot\mulitishop\system\shopclass.manage.php
 * ....商店类目管理
 *
 * @copyright Copyright (c) 2007 - 2007 www.shopnc.net 
 * @author 网城创想多用户商城开发团队 php_netproject@yahoo.com.cn
 * @package 
 * @subpackage 
 * @version Sat Sep 08 12:53:07 CST 2007
 */

require_once("../global.inc.php");

class SysShopCategoryClass extends SystemFrameWork{
	/**
	 * 商品对象
	 *
	 * @var obj
	 */
	var $obj_shopcategory;
	/**
	 * 验证对象
	 *
	 * @var obj
	 */
	var $objvalidate;

	function main(){
		/**
		 * 创建商品对象
		 */
		if (!is_object($this->obj_shopcategory)){
			require_once("shopcategory.class.php");
			$this->obj_shopcategory = new ShopCategoryClass();
		}
		/**
		 * 创建验证对象
		 */
		if (!is_object($this->objvalidate)){
			require_once("commonvalidate.class.php");
			$this->objvalidate = new CommonValidate();
		}

		/**
		 * 语言包
		 */
		$this->getlang("shop");

		/**
		 * 调用相应的方法
		 */
		switch ($this->_input['action']){
			case "add":
			case "modi":
				$this->_getCategory();
				break;
			case "save":
				$this->_saveCategory();
				break;
			case "del":
				$this->_delCategory();
				break;
			default:
				$this->_listCategory();
				break;
		}
	}

	/**
	 * 获取某商铺分类的详细信息
	 *
	 */
	function _getCategory(){
		$category_row = array();
		$class_id = $this->_input['classid'];
		/**
		 * 如果$class_id是数值型，那么获得这个ID分类的信息
		 */		
		if (is_numeric($class_id)){
			$category_row = $this->obj_shopcategory->getOneCategory($class_id);		
		}
		/**
		 * 商铺一级分类数组
		 */
		$category_array = Common::getSelectArray($this->obj_shopcategory->getCategory(0,true),array('class_id','class_name'));
		/**
		 * 将数组变为下拉框形式
		 */
		$category_select = Common::showForm_Select("slcParentId","","",$category_array,'',array('text'=>$this->_lang['langShopClassRoot'],'value'=>'0'));
		
		/**
		 * 抛出变量到摸班页面中
		 */
		$this->output('category_operate',$this->_input['action']);         //输出商铺分类信息
		$this->output('category_array',$category_row);         //输出商铺分类信息
		$this->output('select_parent_category',  $category_select);     //输出商铺分类一级下拉框
		$this->output('radio_category_state',  Common::showForm_Radio("rdoClassState","",$this->_b_config['openstate'],$category_row['class_state']));   //输出商铺分类开启状态单选框
		$this->output('radio_category_property',  Common::showForm_Radio("rdoClassProperty","",$this->_b_config['shopproperty'],$category_row['class_property']));   //输出商铺分类属性单选框
		$this->showpage('sys_shopcategory.manage');    //显示页面
	}
	
	/**
	 * 保存商铺分类到数据中
	 *
	 */
	function _saveCategory(){
		/**
		 * 验证表单信息
		 */
		$this->objvalidate->validateparam = array(
		array("input"=>$this->_input["txtClassName"],"require"=>"true","message"=>$this->_lang['errShopEnterClassName']), //请填写商铺类目名称
		);
		$error = $this->objvalidate->validate();
		if ($error != ''){
			echo $error;
		}else{
			//print_r($this->_input);
			$this->obj_shopcategory->operateCategory($this->_input);
			echo "ok";
		}
	}
	
	/**
	 * 删除商铺分类
	 *
	 */
	function _delCategory(){
		/**
		 * 删除一个或多个商铺分类
		 */
		$this->obj_shopcategory->delOperateCategory($this->_input['classid']);
		echo "ok";
	}
	
	/**
	 * 商铺分类列表
	 *
	 */
	function _listCategory(){
		/**
		 * 得到所有店铺分类
		 */
		$category = $this->obj_shopcategory->getCategory();
		/**
		 * 将数组里的值转为文字说明：类目属性和状态
		 */
		$category = Common::replaceArrayLang($category,'class_property',$this->_b_config['shopproperty']);
		$category = Common::replaceArrayLang($category,'class_state',$this->_b_config['openstate']);
        /**
         * 得到分类的树型结构
         */
		include_once ("settreelist.class.php");
		$CategoryView = new SetTreeList();
        //echo "<pre>";
		$category_tree = $CategoryView->get_page_children(0,$category,$depth=0,$last="├─",$repeat=" │ ",array("parent_id","class_id","class_name"));
		//echo "</pre>";
		$this->output('shop_category_tree',    $category_tree);   //输出分类的树型结构
		$this->showpage('sys_shopcategory.list');    //显示页面
	}
}

$shop_category_manage = new SysShopCategoryClass();
$shop_category_manage->main();
unset($shop_category_manage);
?>